1. Field of the Invention
The present invention relates to a recording/reproduction apparatus and also to a recording/reproduction control method, which are suitably used for, for example, an A/V (Audio/Video) server.
2. Description of the Related Art
A/V servers have been widely used as recording/distribution servers for broadcasting stations. A/V servers generally record/reproduce material (video and audio) to and from random access recording media, and can input and output material simultaneously through a plurality of input/output ports.
As one type of A/V server, there is an A/V server in which a disk array device using RAID (Redundant Arrays of Inexpensive Disks) technology is provided and control of HDDs inside the disk array device is performed in accordance with the SCSI (Small Computer System Interface) standard.
A conventional process situation for recording and reproducing material in such an A/V server will be described below. FIG. 7 shows an example of the construction of the essential portions of such an A/V server. In this A/V server 30, two input ports 31 and 32, two output ports 33 and 34, and a disk array device 35 are interconnected to each other by a bus 36.
The input ports 31 and 32 include MPEG-scheme encoders 31a and 32a, and CPUs 31b and 32b, respectively. The output ports 33 and 34 include MPEG-scheme decoders 33a and 34a, and CPUs 33b and 34b, respectively.
For each of the ports 31 to 34, as shown in FIG. 8, time slots T1 to T4 each for a predetermined number of frames (for example, for 4 frames) are assigned in sequence as time slots for allowing the use of the bus 36.
The CPUs 31b and 32b of the input ports 31 and 32 cause the encoders 31a and 32a to encode (compress) the video which is input from outside the A/V server 30, respectively. Then, the coded video bit streams, to which a recording requesting command is added, are transferred from the input ports 31 and 32 to the disk array device 35 via the bus 36 within the time slots T1 and T2, respectively.
At that time, as shown in FIG. 9A, the CPUs 31b and 32b, assuming that the video bit stream for a predetermined number of frames (for example, for 16 frames) is a minimum unit, add a recording requesting command C1 to the beginning portion of each video bit stream in the minimum unit. Therefore, in the time slot T1 in which, for example, the input port 31 transfers a video bit stream for 128 frames to the disk array device 35, eight recording requesting commands C1 are sent from the input port 31 to the disk array device 35.
The CPUs 33b and 34b of the output ports 33 and 34 send a command C2 for requesting the reproduction of one of the video bit streams recorded in the disk array device 35 to the disk array device 35 via the bus 36 within the time slots T3 and T4, respectively.
At that time, the CPUs 33b and 34b, assuming that a video bit stream for 16 frames is a minimum time, also sends the reproduction requesting command C2. Therefore, in the time slot T3 in which, for example, the output port 33 causes the disk array device 35 to reproduce a video bit stream for 128 frames, similarly, eight reproduction requesting commands C2 are sent from the output port 33 to the disk array device 35.
Then, the CPUs 33b and 34b cause the decoders 33a and 34a to decode (decompress) the video bit stream supplied from the disk array device 35 and output the video bit streams from the output ports 33 and 34 to outside the A/V server 30.
FIG. 10 shows an example of the construction of the essential portions of the disk array device 35. Host adaptors 44-1 to 44-6 are connected to a CPU 41 for controlling the entire disk array device 35 via a CPU bus 42 and local buses 43-1 to 43-6, respectively.
Furthermore, six HDDs 61 to 66 incorporating disk drive controllers (hereinafter referred to simply as “controllers”) 51 to 56 for SCSI are connected to the host adaptors 44-1 to 44-6 via SCSI buses 45-1 to 45-6, respectively. The host adaptors 44-1 to 44-6 function as initiators, and the controllers 51 to 56 function as targets.
Based on each recording requesting command C1 (FIG. 9A) added to the beginning portion of the video bit stream in each minimum unit, transferred from the input port 31 and the input port 32 to the disk array device 35, the CPU 41 divides the video bit stream into data to be recorded in five HDDs 61 to 65, for example, in units of one byte, as shown in FIG. 9B (This dividing process is performed by a multiplexer (not shown)). Then, the CPU 41 issues a command (command for each of the controllers 51 to 55) C3 for instructing the recording operation of each of the HDDs 61 to 66.
Furthermore, the CPU 41 creates parity data for this video bit stream which is divided in units of one byte as data to be recorded in the remaining one HDD 66 (This creation process is performed by a parity computation circuit (not shown)). Then, the CPU 41 issues a command (command for the controller 56) C3 for instructing the recording operation of the HDD 66.
Therefore, in the time slot T1 in which, for example, the video bit stream for 128 frames has been transferred (eight recording requesting commands C1 have been sent) from the input port 31 to the disk array device 35, commands C3 in units of eight are issued from the CPU 41 to each of the disk drive controllers 51 to 56 (8×6=48 commands C3 in total).
The host adaptors 44-1 to 44-6 perform communication of the transmission of data (video bit streams in units of one bit and parity data thereof) to be recorded on the HDDs 61 to 66 and the transmission of the command C3 with the controllers 51 to 56 via the SCSI buses 45-1 to 45-6, respectively, in accordance with a protocol conforming to the SCSI standard. The controllers 51 to 56 cause the HDDs 61 to 66 to execute the transmitted command C3, so that the transmitted video bit streams and the parity data are recorded on the HDDs 61 to 66, respectively.
Then, each time the communication for each command C3 with the controllers 51 to 56 is terminated, each of the host adaptors 44-1 to 44-6 sends an interrupt (external interrupt) indicating that the communication for the command C3 is terminated to the CPU 41. Each time this interrupt occurs, the CPU 41 stops the process (process for controlling the other portions inside the disk array device 35) which has been performed thus far, and performs a termination process for the command C3 (a process for checking whether or not an error has occurred in the communication for the command C3, a correction process in a case where an error has occurred, etc.).
Therefore, as described above, regarding the time slot T1 in which, for example, the video bit stream for 128 frames has been transferred from the input port 31 to the disk array device 35, a total of 48 commands C3 are issued from the CPU 41 to the disk drive controllers 51 to 56. As a result, until all the video bit streams and the parity data thereof are recorded in the HDDs 61 to 66, a total of 48 times of interrupts are sent from the host adaptors 44-1 to 44-6 to the CPU 41 (the CPU 41 stops the processing which has been performed thus far 48 times).
More generally, regarding the time slot T1 in which the n-th command C1 is sent from the input port 31, a total of 6×n times of interrupts are sent from the host adaptors 44-1 to 44-6 to the CPU 41 (the CPU 41 stops the processing which has been performed thus far 633 n times).
On the other hand, based on each reproduction requesting command C2 sent from the output port 33 and the output port 34 to the disk array device 35, the CPU 41 issues a command C4 (command for each of the disk drive controllers 51 to 56) for instructing the reproducing operation of each of the HDDs 61 to 66 (operation of reproducing the video bit stream specified by that command C2 and the parity data for the video bit stream).
Therefore, regarding the time slot T3 in which, for example, the command C2 (eight commands C2) for requesting the reproduction of the video bit stream for 128 frames is sent from the output port 33 to the disk array device 35, commands C4 in units of eight are issued from the CPU 41 to each of the controllers 51 to 56 (a total of 8×6=48 commands C4).
Each of the host adaptors 44-1 to 44-6 performs communication of the transmission of the command C4 with the controllers 51 to 56 via the SCSI buses 45-1 to 45-6, respectively, in accordance with a protocol conforming to the SCSI standard. The controllers 51 to 56 cause the HDDs 61 to 66 to execute the transmitted command C4 so as to reproduce the video bit stream and the parity data from the HDDs 61 to 66, respectively.
Then, each time the communication for each command C4 with the controllers 51 to 56 is terminated, each of the host adaptors 44-1 to 44-6 sends an interrupt indicating that the communication for the command C4 is terminated to the CPU 41. Each time this interrupt occurs, the CPU 41 stops the processing which has been performed thus far, and performs a termination process for the command C4.
Therefore, as described above, regarding the time slot T3 in which, for example, the command C2 (eight commands C2) for requesting the reproduction of the video bit streams for 128 frames is sent from the output port 33 to the disk array device 35, a total of 48 commands C4 are issued from the CPU 41 to the controllers 51 to 56. As a result, until all the video bit streams and the parity data thereof are reproduced from the HDDs 61 to 66, similarly, a total of 48 times of interrupts are sent from the host adaptors 44-1 to 44-6 to the CPU 41.
More generally, regarding the time slot T3 in which the n-th command C3 is sent from the output port 33, similarly, a total of 6×n times of interrupts are sent from the host adaptors 44-1 to 44-6 to the CPU 41 (the CPU 41 stops the processing which has been performed thus far 6×n times).
The video bit streams which are reproduced in this manner are subjected to error correction using the parity data, after which the video bit stream is transferred from the disk array device 35 to the output ports 33 and 34 via the bus 36 within the time slots T3 and T4, respectively. In the output ports 33 and 34, the transferred video bit streams are decoded (decompressed) by the decoders 33a and 34a, respectively, and are externally output from the A/V server 30.
In the manner described above, in the A/V server which performs control of HDDs inside the disk array device in conformance with the SCSI standard, conventionally, each time communication for each command between each host adaptor and the disk drive controller is terminated, an interrupt indicating the termination of the communication of that command is sent to the CPU which controls the entire disk array device.
Therefore, since a large number of times of interrupts are sometimes sent to the CPU with respect to one time slot, there is a possibility that the load on the CPU is increased, and thereby the recording/reproduction processing speed of the A/V server is decreased.